/**
 * User: alesj
 * Date: 2005.3.18
 * Time: 11:41:06
 * 
 * (C) Genera Lynx d.o.o.
 */

package com.generalynx.common.data;

import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ResultSetExtractor;

import java.util.Date;

public interface IJdbcFactory {

    public Object execute(final String callString,
                          final long timeMillis,
                          final ResultSetExtractor rsExtractor) throws DataAccessException;

    public void execute(final String callString,
                        final Object[] objects,
                        final ResultSetExtractor[] resultSetExtractors) throws DataAccessException;

    // --- parampas

    public int parampasFromDate(long time_millis, Date from) throws DataAccessException;

    public int parampasToDate(long time_millis, Date to) throws DataAccessException;

    public int parampasArea(long time_millis, int[] areas) throws DataAccessException;

    public int parampasArea(long time_millis, int area) throws DataAccessException;

    public int parampasPriceType(long time_millis, int[] priceTypes) throws DataAccessException;

    public int parampasProvider(long time_millis, int[] providers) throws DataAccessException;

    public int parampasTariffs(long time_millis, int[] tariffs) throws DataAccessException;

    public int parampasProducts(long time_millis, int[] products) throws DataAccessException;

    public int parampasTariff(long time_millis, int tariff) throws DataAccessException;

    public int parampasProduct(long time_millis, int product) throws DataAccessException;

    public int parampasLocations(long time_millis, int[] locations) throws DataAccessException;

    public int parampasLocation(long time_millis, int location) throws DataAccessException;

    public int parampasTypes(long time_millis, int[] types) throws DataAccessException;

    public int parampasOffers(long time_millis, int[] offers) throws DataAccessException;

    public int parampasRouteFrom(long time_millis, int root) throws DataAccessException;

    public int parampasRouteTo(long time_millis, int root) throws DataAccessException;

    public int parampasMassFrom(long time_millis, int mass) throws DataAccessException;

    public int parampasMassTo(long time_millis, int mass) throws DataAccessException;

    public int parampasLengthFrom(long time_millis, int length) throws DataAccessException;

    public int parampasLengthTo(long time_millis, int length) throws DataAccessException;

    public int parampasTrainType(long time_millis, String[] types) throws DataAccessException;

    public int parampasTrainNo(long time_millis, String[] trainNo) throws DataAccessException;

    public int parampasRailVehicle(long time_millis, int[] vehicles) throws DataAccessException;

    public int parampasViewType(long time_millis, int viewType) throws DataAccessException;

}
